var extrusion_posLX =-30                                                                                                                                                                                   ; 左边槽柳钉上方X坐标
var extrusion_posLY =159                                                                                                                                                                                   ; 左边槽柳钉上方Y坐标
var extrusion_posRX =324.6                                                                                                                                                                                 ; 右边槽柳钉上方X坐标
var extrusion_posRY =156.3                                                                                                                                                                                 ; 右边槽柳钉上方Y坐标
var extrusion_dist =34.3                                                                                                                                                                                   ; 四氟管与耗材挤出点的距离
var max_extrude_speed =5                                                                                                                                                                                   ; 最大吐料速度
var shake_cnt =4                                                                                                                                                                                           ; 甩料次数
var wipe_cnt =3                                                                                                                                                                                            ; 擦拭次数
var cold_time =3                                                                                                                                                                                           ; 冷却时间(秒)
var wipe_speed =250                                                                                                                                                                                        ; 擦拭速度
var shake_speed =250                                                                                                                                                                                       ; 甩料速度
var flush_length =24                                                                                                                                                                                       ; 洗料长度

if (state.currentTool>=0 && state.currentTool<=3)
    if (heat.heaters[state.currentTool+1].current > heat.coldExtrudeTemperature)
        G1 X{(state.currentTool=0 || state.currentTool=1) ? var.extrusion_posLX:var.extrusion_posRX} Y{(state.currentTool=0 || state.currentTool=1) ? var.extrusion_posLY:var.extrusion_posRY} F50000      ; 移动到涂料柳钉上方挤出点, 左边热端移到左边的吐料槽, 右边热端移到右边的吐料槽
        M400
        M106 P{tools[state.currentTool].fans[0]} S255                                                                                                                                                      ; 开启散热风扇到最大值
        ; 挤出耗材
        G1 E{(global.DirectDriveExtruder =0 ? global.retractLength : global.retractLengthDDE)} F{global.retractSpeedSlow*60}
        ; G1 E4 F100
        ; G1 E12 F300
        ;G1 E2 F200
        ;G1 E6 F100
        ; 脉冲式洗料
        G1 E{var.flush_length * 0.18} F{var.max_extrude_speed*60}
        G1 E{var.flush_length * 0.02} F50
        G1 E{var.flush_length * 0.18} F{var.max_extrude_speed*60}
        G1 E{var.flush_length * 0.02} F50
        G1 E{var.flush_length * 0.18} F{var.max_extrude_speed*60}
        G1 E{var.flush_length * 0.02} F50
        G1 E{var.flush_length * 0.18} F{var.max_extrude_speed*60}
        G1 E{var.flush_length * 0.02} F50
        G1 E{var.flush_length * 0.18} F{var.max_extrude_speed*60}
        G1 E{var.flush_length * 0.02} F50
        G4 S{var.cold_time}                                                                                                                                                                                ; 等待冷却
        G10
        G1 E{-(global.DirectDriveExtruder =0 ? global.retractLength : global.retractLengthDDE)} F{global.retractSpeedSlow*60}
        
        ; 甩料
        while (iterations < var.shake_cnt)
            G1 Y{(state.currentTool=0 || state.currentTool=1) ? (var.extrusion_posLY + 2):(var.extrusion_posRY + 2)} F{var.shake_speed*60}
            G1 Y{(state.currentTool=0 || state.currentTool=1) ? (var.extrusion_posLY - 2):(var.extrusion_posRY - 2)} F{var.shake_speed*60}
        
        ; 擦嘴
        while (iterations < var.wipe_cnt)
            G1 Y{(state.currentTool=0 || state.currentTool=1) ? (var.extrusion_posLY - var.extrusion_dist - 12):(var.extrusion_posRY - var.extrusion_dist - 12)} F{var.wipe_speed*60}                      ; 擦拭后喷头离开四氟管
            G1 X{(state.currentTool=0 || state.currentTool=1) ? (var.extrusion_posLX + 10):(var.extrusion_posRX - 10)} F{var.wipe_speed*60}                                                                ; 绕过擦拭座，X
            G1 Y{(state.currentTool=0 || state.currentTool=1) ? (var.extrusion_posLY -15):(var.extrusion_posRY - 15)} F{var.wipe_speed*60}                                                                 ; 绕过擦拭座，Y
            G1 X{(state.currentTool=0 || state.currentTool=1) ? (var.extrusion_posLX):(var.extrusion_posRX)} F{var.wipe_speed*60}                                                                          ; 回到擦拭座中间，X
            ; G4 P500
            M400
        ; M106 R2                                                                                                                                                                                          ; 恢复原来风扇速度
